package com.zykj.first;

import com.zykj.first.behavior.impl.FlyWithWings;
import com.zykj.first.behavior.impl.MuteQueack;
import com.zykj.first.behavior.impl.Quack;

/**
 * 现在特定的行为 被特定的**Behavior 实现，  与Duck 主题分离了
 *
 * @author zhoulj(周利军) [1217102780@qq.com]
 * @Title: MallardDuck
 * @Project: ${MODEL_NAME}
 * @Module ID:   <(模块)类编号，可以引用系统设计中的类编号>
 * @Comments: <对此类的描述，可以引用系统设计中的描述>
 * @JDK version used:      <JDK1.8> 56
 * @since 2018/12/25-22:56
 */
public class MallardDuck extends Duck {

    public MallardDuck() {
        //TODO 行为被委托到具体的 行为实现中去了
        //  URML 关系图：组合
        //  设计原则：多用组合，少用继承
        this.flyBehavior = new FlyWithWings();
        this.quackBehavior = new Quack();
    }
    @Override
    public void dispaly() {
        System.out.println("我是一只 野鸭子..");
    }
}
